package main

import "fmt"

func main() {
	ch := make(chan int, 3)

	ch <- 1
	ch <- 2
	ch <- 3

	// 不关闭管道，使用 select 非阻塞读取
	//select 非阻塞式遍历数据
	for {
		select {
		case value, ok := <-ch:
			if !ok {
				fmt.Println("管道已关闭")
				return
			}
			fmt.Println(value)
		default:
			fmt.Println("没有更多数据了")
			return
		}
	}
}
